package com.wangsd.common.component.extBean;

import com.github.binarywang.wxpay.bean.result.BaseWxPayResult;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import me.chanjar.weixin.common.util.xml.XStreamInitializer;

/**
 * 支付押金（人脸支付）
 */
@XStreamAlias("xml")
public class DepositRefundQueryResponse extends BaseWxPayResult {
    @XStreamAlias("transaction_id")
    private String transactionId;

    @XStreamAlias("out_refund_no")
    private String outRefundNo;

    @XStreamAlias("out_trade_no")
    private String outTradeNo;

    @XStreamAlias("time_end")
    private String timeEnd;

    @XStreamAlias("cash_fee")
    private String cashFee;

    @XStreamAlias("refund_id")
    private String refundId;

    @XStreamAlias("refund_fee")
    private String refundFee;

    @XStreamAlias("refund_status")
    private String refundStatus;

    @XStreamAlias("refund_recv_accout")
    private String refundRecvAccout;

    @XStreamAlias("refund_success_time")
    private String refundSuccessTime;


    public static DepositRefundQueryResponse fromXML(String xmlString) {
        XStream xstream = XStreamInitializer.getInstance();
        xstream.allowTypesByWildcard(new String[]{"me.chanjar.weixin.**",
                "cn.binarywang.wx.**", "com.github.binarywang.**",
                "com.wangsd.common.component.**"});
        xstream.processAnnotations(DepositRefundQueryResponse.class);
        DepositRefundQueryResponse result = (DepositRefundQueryResponse) xstream.fromXML(xmlString);
        result.setXmlString(xmlString);
        return result;
    }

    public String getTransactionId() {
        return transactionId;
    }

    public void setTransactionId(String transactionId) {
        this.transactionId = transactionId;
    }

    public String getOutRefundNo() {
        return outRefundNo;
    }

    public void setOutRefundNo(String outRefundNo) {
        this.outRefundNo = outRefundNo;
    }

    public String getOutTradeNo() {
        return outTradeNo;
    }

    public void setOutTradeNo(String outTradeNo) {
        this.outTradeNo = outTradeNo;
    }

    public String getTimeEnd() {
        return timeEnd;
    }

    public void setTimeEnd(String timeEnd) {
        this.timeEnd = timeEnd;
    }

    public String getCashFee() {
        return cashFee;
    }

    public void setCashFee(String cashFee) {
        this.cashFee = cashFee;
    }

    public String getRefundId() {
        return refundId;
    }

    public void setRefundId(String refundId) {
        this.refundId = refundId;
    }

    public String getRefundFee() {
        return refundFee;
    }

    public void setRefundFee(String refundFee) {
        this.refundFee = refundFee;
    }

    public String getRefundStatus() {
        return refundStatus;
    }

    public void setRefundStatus(String refundStatus) {
        this.refundStatus = refundStatus;
    }

    public String getRefundRecvAccout() {
        return refundRecvAccout;
    }

    public void setRefundRecvAccout(String refundRecvAccout) {
        this.refundRecvAccout = refundRecvAccout;
    }

    public String getRefundSuccessTime() {
        return refundSuccessTime;
    }

    public void setRefundSuccessTime(String refundSuccessTime) {
        this.refundSuccessTime = refundSuccessTime;
    }
}
